package cn.wolfcode.luowowo.article.service;

import cn.wolfcode.luowowo.article.domain.Attractions;
import cn.wolfcode.luowowo.article.query.AttractionsQuery;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface IAttractionsService {

    /**
     * 该接口拿到排行前五的景点
     * @return 景点list
     */
    List<Attractions> Top5(Long destId);

    /**
     * 拿到热门的10个景点
     * @return 景点10个
     */
    List<Attractions> hotList(Long destId);

    /**
     * 获取全部景点的分页数据
     * @param qo 封装的分页参数
     * @return
     */
    /**
     * 通
     * @param id
     * @return
     *//*
    PageInfo<Attractions> selectReviewByUserId(Long id);*/


    /**
     * 我的点评功能
     * 根据通过登录的用户id查询他自己点评的数据
     * @param qo
     * @return
     */
    PageInfo<Attractions> selectForList(AttractionsQuery qo,Long uid);

    /**
     * 通过登录用户id查询点评总数
     * @param id
     * @return
     */
    List<Attractions>selectReviewSize(Long id);

    PageInfo pageResult(AttractionsQuery qo,Long destId);

    /**
     * 根据id拿到景点的数据
     * @param id
     * @return
     */
    Attractions selectById(Long id);

    /**
     * 根据id查到子地区,
     * 查询到包含的地区集合并返回
     * @param id
     * @return
     */
    List<Attractions> selectSonById(Long id);

    /**
     * 添加评论数加一
     * @param attractionsId
     */
    void addReplynumByDetailId(Long attractionsId);

    /**
     * 根据id来获取到Attractions对象里面的数据做redis中的数据初始化
     * @param id
     * @return
     */
    Attractions get(Long id);
}
